home *** CD-ROM | disk | FTP | other *** search
/ Aminet 31 / Aminet 31 (1999)(Schatztruhe)[!][Jun 1999].iso / Aminet / misc / emu / warpsnes.lha / README.TXT < prev    next >
Text File  |  1998-10-14  |  35KB  |  742 lines

  1. Snes9x v1.10 29-SEP-1998
  2. ========================
  3.  
  4. Contents
  5. ========
  6. Changes Since Last Release
  7. Introduction
  8. What's Emulated
  9. What's Not
  10. What You Will Need
  11. Getting Started/Command Line Options
  12. Keyboard Controls
  13. Joystick Support
  14. Netplay Support
  15. Super FX
  16. Problems With ROMs
  17. Sound Problems
  18. Converting ROM Images
  19. Speeding up the Emulation
  20. Credits
  21.  
  22. Changes Since Last Release
  23. ==========================
  24.  
  25. 1.10
  26. - Finished NetPlay v1 - allows up to five networked machines to play 
  27.   multi-player SNES games, one player on each machine.
  28. - Switchable full-screen mode added to Linux X11 port, some code and ideas
  29.   nicked from Maciej Babinski's original Snes9x XFree86 DGA Linux port, the
  30.   UAE Amiga emulator, plus lots of my own code.
  31. 1.08
  32. - Bug fixes to C Super FX emulation - now Winter Gold works correctly again.
  33. 1.07
  34. - More DSP1 work. Mario Kart is now playable! The character projection code
  35.   is still broken so the opponents and obstacles aren't always positioned
  36.   correctly on screen and you keep bumping into them, but I can still keep 
  37.   coming first!
  38. - Started work on NetPlay support.
  39. - Decreased sound card DMA buffer size on DOS port to improve sound generation
  40.   and sound CPU synchronisation in some games.
  41. - Included Linux joystick driver patches from Vojtech Pavlik so the port can
  42.   use the new v1.x joystick drivers, again written by Vojtech Pavlik. Allows
  43.   use of Micro$oft Sidewinder pads, NES and SNES pads, PlayStation pads,
  44.   Gamepad Pros, etc.
  45. - Added halve-the-result colour subtraction.
  46. 1.06
  47. - Extended code to allow support for multiple 16-bit screen formats,
  48.   switchable at run-time, rather just supporting one, selectable at compile
  49.   time.
  50. - Added XFree86 DGA Linux port - code from Maciej Babinski.
  51. - More fixes to the X11 image format conversion and setup code.
  52. - The asm SetByte routine wasn't wrapping writes to S-RAM correctly, allowing
  53.   some ROMs to think they were running on a copier and put up an error
  54.   screen. Thanks to Nu of #rom for the report.
  55. - Added 'TV-Mode' support (interpolation and scan-lines) to the DOS and
  56.   UNIX ports from code based on John Stiles work.
  57. - Added v-sync option to the DOS port.
  58. - Added fix to Pro Action Reply support, thanks to Paul Shoener III.
  59. - Added ggi support (untested) to Linux port using patches from
  60.   Alexander Larsson (alla@lysator.liu.se).
  61. - Added 16 to 24/32 bit image conversion routines to the UNIX X11 code.
  62. - The SPC700 OR1 instruction was broken. Thanks to Pyrgopolinices for the
  63.   report.
  64. - DOS port was having trouble splitting and joining path names - caused
  65.   problems when specifying the full path name of a ROM when the ROM image
  66.   was on another drive.
  67. - If a ROM reset the sound DSP and then turned on echo effects but kept
  68.   the same echo delay setting, then the echo effects could not be heard.
  69.   Thanks to madec@mclink.it for the bug report and freeze file that made it
  70.   easy to find the problem.
  71. - DOS port was always using stereo sound setting, if sound card
  72.   supported it, regardless of the user preference.
  73. - Linux port X11 port could crash if window was resized while transparency
  74.   effects were enabled.
  75. - The colour subtraction accelerator look-up table was slightly wrong, causing
  76.   one bit of red, green blue values to 'spill' into the next field.
  77. - Allowed colour window to cut a hole in the main-screen and show the sub-
  78.   screen underneath. The effect is used by Illusion of Gaia.
  79. - Added support for colour subtraction, with the halve-the-result flag
  80.   set.
  81. - Included DSP1 code from _Demo_. Now you can see the track in Mario Kart and
  82.   the ground in Pilot Wings - still can't play the games though due to other
  83.   missing commands.
  84. - Added an NMI hack to work around a code bug in Battle Toads: BATTLEMANIACS,
  85.   its only by chance that the game works on a real SNES - And disabled it
  86.   again because it causes problems for Chrono Trigger.
  87. - A frame skip of zero was actually still skipping one frame. Thanks to
  88.   Marius Fodor for the info.
  89. - And yet more X-OR window bug fixes - now the effects during some of the more
  90.   'posh' spells look correct in Chrono Trigger.
  91. - Yet another window area inversion bug - off by one pixel on right-hand edge.
  92. - Forgot to put dummy start and end points for XOR window combination modes -
  93.   now Uniracers looks correct and Sailor Moon looks like it does on a real 
  94.   SNES.
  95. - Window clip code was using wrong index into a 2-dimensional array when
  96.   the whole of the main or sub-screens were clipped.
  97. 1.05
  98. - The master volume disable code was looking that the wrong variable!
  99. - Fixed crash bug in newer sound code if a ROM tried to start a sample
  100.   playing who's data went past the end of SPC700 memory. (Cannon Fodder)
  101. 1.04
  102. - Fixed DSP1 ROM header detection bug.
  103. - More DSP1 work; still nothing works, although I know the multiply command
  104.   is correct because I've compared the results against a real DSP1.
  105. 1.03
  106. - Oops, the multi-player 5 disable code change broke the multi-player 5 being
  107.   the default controller.
  108. - Implemented the colour window on the main screen - now Zelda's oval zoom
  109.   window displays correctly and Krusty's Super Fun House clips the left-most
  110.   8 pixels as it does on the real SNES.
  111. - TERRANIGMA didn't like me returning a random value when it attempted to 
  112.   read a channel's the current sample byte.
  113. - Hacked in initial support for mode 7 priority-per-pixel - the priority bit
  114.   doesn't actually change the priority of the pixel but the two games that I
  115.   know of that use the feature look OK. (Winter Extreme Skiing and the
  116.   intro of Tiny Toons Adventures).
  117. - Colour addition/subtraction code now uses RGB565 rather than RGB555
  118.   calculations - helps a little with the loss of the bottom bit of SNES
  119.   colour data.
  120. - DSP1 emulation started - nothing works yet.
  121. 1.02
  122. - Switched to adding back drop colour rather than fixed colour when
  123.   sub-screen addition is enabled but there's nothing on the sub-screen.
  124.   Uniracers seems to need it. - DISABLED it again. Causes problems for
  125.   other ROMs and Uniracers itself on later screens.
  126. - Fixed XOR window logic combination mode and area inversion code, now
  127.   Uniracers works correctly.
  128. - Oops, if colour window and half colour addition/subtraction were both
  129.   switched on, area outside colour window was still being halved, it shouldn't.
  130.   Hacky fix at the moment until I implement the correct fix.
  131. - Fixed several bugs with the mosaic effect and 16x16 tiles and a few
  132.   possible background scroll offset bugs and the mosaic effect.
  133. - Optimised the sound sample generation code for cases when the SNES
  134.   sample playback frequency was higher than the sound card playback rate.
  135. - Fixed possible click sound when a sample was first started to be played.
  136. 1.01
  137. - Corrected scanline count for PAL games - should be 312 lines verses 262 for
  138.   NTSC. Was causing slow music on PAL games.
  139. - Added error correction code to the SPC700 timer update code - the
  140.   SPC700 timers are updated using the emulated h-blank handler which is
  141.   called every emulated 63.6 microseconds (15.720KHz) but the SPC700 timers
  142.   need to be updated at multiples of 8KHz, hence the error. Was causing
  143.   music to be played slightly too fast.
  144. - Switched back to using C SPC700 code - the old SPC700 asm code was lacking
  145.   several optimisations that the C version had. It also had multiple
  146.   speed hack cycle skipping bugs. Plus I hadn't even finished optimising
  147.   all the code from the last time I converted the C compiler output.
  148. - Optimised SPC700 memory access routines a little.
  149. - Disabled code that prevented ROMs updating SPC700 timer values while the
  150.   timer was running - it seems like it is allowed, even though docs on the
  151.   'net I've seen say its not.
  152.  
  153. Introduction
  154. ============
  155.  
  156. Snes9x is a portable, freeware Super Nintendo Entertainment System (SNES)
  157. emulator. It basically allows you to play most games designed for the SNES
  158. and Super Famicom Nintendo game systems on your PC or Workstation; they
  159. include some real gems that were only ever released in Japan.
  160.  
  161. Snes9x is the result of well over a year and a half's worth of part-time
  162. hacking, coding, recoding, debugging, divorce, etc. (just kidding about the
  163. divorce bit). Snes9x is coded in C++, with three assembler CPU emulation
  164. cores o